// Lex.h: interface for the Lex class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_LEX_H__39850F24_7932_11D2_8063_00A0C91F41A7__INCLUDED_)
#define AFX_LEX_H__39850F24_7932_11D2_8063_00A0C91F41A7__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

#include "BaseLex.h"
//#include "LabelTable.h"

class Lex : public BaseLex  
{
public:
	int GetColumn();
	CString GetErrorPrefix();
	Lex();
    Lex(char *str);
	virtual ~Lex();

    // implementation
    void Init();
    virtual int Advance();
    virtual int NextToken();
    inline unsigned GetLineNumber() { return m_nLineNum; }
    int IsNumeric();
    virtual int IsInstruction(char *)=0;

protected:
    unsigned m_nLineNum;
};

#endif // !defined(AFX_LEX_H__39850F24_7932_11D2_8063_00A0C91F41A7__INCLUDED_)
